package zhongbo.java.air.flightpath.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.ibatis.type.Alias;

import java.util.Date;
import java.io.Serializable;

/**
 * 飞行轨迹记录表(AirFlightPath)实体类
 *
 * @author makejava
 * @since 2025-04-02 11:25:41
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("飞行轨迹记录表")
@TableName("air_flight_path")
@Alias("AirFlightPath")
public class AirFlightPath implements Serializable {

    /**
     * UUID 主键
     */
    @TableId("id")
    @ApiModelProperty("UUID 主键")
    private String id;
    /**
     * 关联飞机ICAO码
     */
    @TableField("icao_code")
    @ApiModelProperty("关联飞机ICAO码")
    private String icaoCode;
    /**
     * 时间戳（精确到毫秒）
     */

    @TableField("timestamp")
    @ApiModelProperty("时间戳（精确到毫秒）")
    private Date timestamp;
    /**
     * 纬度（WGS84坐标系）
     */
    @TableField("latitude")
    @ApiModelProperty("纬度（WGS84坐标系）")
    private Double latitude;
    /**
     * 经度（WGS84坐标系）
     */
    @TableField("longitude")
    @ApiModelProperty("经度（WGS84坐标系）")
    private Double longitude;
    /**
     * 海拔高度（米）
     */
    @TableField("altitude")
    @ApiModelProperty("海拔高度（米）")
    private Integer altitude;
    /**
     * 地速（公里/小时）
     */
    @TableField("speed")
    @ApiModelProperty("地速（公里/小时）")
    private Integer speed;
    /**
     * 航向角（0-359度）
     */
    @TableField("heading")
    @ApiModelProperty("航向角（0-359度）")
    private Integer heading;
    /**
     * 数据源类型（枚举值：ADS_B, RADAR, MLAT）
     */
    @TableField("source_type")
    @ApiModelProperty("数据源类型（枚举值：ADS_B, RADAR, MLAT）")
    private String sourceType;



}

